package nl.uva.science.pico.picolanguage.types;

abstract public class IDTYPE extends nl.uva.science.pico.picolanguage.AbstractType {
  public IDTYPE(nl.uva.science.pico.picolanguage.Factory factory, aterm.ATermList annos, aterm.AFun fun, aterm.ATerm[] args) {
     super(factory, annos, fun, args);
  }

  public boolean isEqual(IDTYPE peer) {
    return super.isEqual(peer);
  }

  public boolean isSortIDTYPE()  {
    return true;
  }

  public boolean isVariable() {
    return false;
  }

  public boolean hasVariableName() {
    return false;
  }

  public boolean hasVariableType() {
    return false;
  }

  public nl.uva.science.pico.picolanguage.types.PICOID getVariableName() {
     throw new UnsupportedOperationException("This IDTYPE has no VariableName");
  }

  public IDTYPE setVariableName(nl.uva.science.pico.picolanguage.types.PICOID _variableName) {
     throw new IllegalArgumentException("Illegal argument: " + _variableName);
  }

  public nl.uva.science.pico.picolanguage.types.TYPE getVariableType() {
     throw new UnsupportedOperationException("This IDTYPE has no VariableType");
  }

  public IDTYPE setVariableType(nl.uva.science.pico.picolanguage.types.TYPE _variableType) {
     throw new IllegalArgumentException("Illegal argument: " + _variableType);
  }

}

